home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #1 / Ham Radio 2000.iso / ham2000 / packet / terminal / kam510 / kam-set.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1989-11-26  |  17.6 KB  |  690 lines

  1. procedure set_attributes;
  2. begin
  3.    xmt_attrib    := b_clr[0] SHL 4 + f_clr[0];
  4.    rcv_attrib    := b_clr[1] SHL 4 + f_clr[1];
  5.    status_attrib := b_clr[2] SHL 4 + f_clr[2];
  6.    prompt_attrib := b_clr[3] SHL 4 + f_clr[3];
  7.    aux_attrib    := b_clr[4] SHL 4 + f_clr[4];
  8.    help_attrib   := b_clr[5] SHL 4 + f_clr[5];
  9. end;
  10.  
  11. procedure mod_image;
  12. var i : integer;
  13. begin
  14.    set_attributes;
  15.    for i := 0 to 1999 do
  16.    begin
  17.       help_scr[i].a := help_attrib;
  18.       qsig_scr[i].a := help_attrib;
  19.       rst_scr[i].a  := help_attrib;
  20.    end;
  21.    for i := 0 to 79 do image[i].a := status_attrib;
  22.    for i := 80*(out_start_line-1) to 80*out_end_line - 1 do
  23.      image[i].a := xmt_attrib;
  24.    for i := 80*(inp_start_line-1) to 80*inp_end_line - 1 do
  25.      image[i].a := rcv_attrib;
  26.    for i := 1840 to 1999 do image[i].a := aux_attrib;
  27.    lead_attr := 80*(out_start_line - 1) - 1;
  28. end;
  29.  
  30. procedure load_init(file_name: file_type);
  31. var init_file : text;
  32.     dummy : string[20];
  33.     flag : integer;
  34. begin
  35.   assign(init_file, file_name);
  36.   {$I-}
  37.   reset(init_file);
  38.   if (IOresult = 0) then
  39.     begin
  40.       read(init_file,dummy); readln(init_file,   b_clr[0]);
  41.       read(init_file,dummy); readln(init_file,   f_clr[0]);
  42.       read(init_file,dummy); readln(init_file,   b_clr[1]);
  43.       read(init_file,dummy); readln(init_file,   f_clr[1]);
  44.       read(init_file,dummy); readln(init_file,   b_clr[2]);
  45.       read(init_file,dummy); readln(init_file,   f_clr[2]);
  46.       read(init_file,dummy); readln(init_file,   b_clr[3]);
  47.       read(init_file,dummy); readln(init_file,   f_clr[3]);
  48.       read(init_file,dummy); readln(init_file,   b_clr[4]);
  49.       read(init_file,dummy); readln(init_file,   f_clr[4]);
  50.       read(init_file,dummy); readln(init_file,   b_clr[5]);
  51.       read(init_file,dummy); readln(init_file,   f_clr[5]);
  52.       read(init_file,dummy); readln(init_file,   status_line);
  53.       read(init_file,dummy); readln(init_file,   inp_start_line);
  54.       read(init_file,dummy); readln(init_file,   inp_end_line);
  55.       read(init_file,dummy); readln(init_file,   aux_line);
  56.       read(init_file,dummy); readln(init_file,   out_start_line);
  57.       read(init_file,dummy); readln(init_file,   out_end_line);
  58.       read(init_file,dummy); readln(init_file,   xmt_port);
  59.       read(init_file,dummy); readln(init_file,   kam_baud_rate);
  60.       read(init_file,dummy); readln(init_file,   packet_mark);
  61.       read(init_file,dummy); readln(init_file,   packet_space);
  62.       read(init_file,dummy); readln(init_file,   int_wpm);
  63.       read(init_file,dummy); readln(init_file,   cw_off_delay);
  64.       read(init_file,dummy); readln(init_file,   xmt_on_delay);
  65.       read(init_file,dummy); readln(init_file,   xmt_off_delay);
  66.       read(init_file,dummy); readln(init_file,   KamTimeZone);
  67.       read(init_file,dummy); readln(init_file,   msg_file_0);
  68.       read(init_file,dummy); readln(init_file,   kam_log_file);
  69.       read(init_file,dummy); readln(init_file,   NTSdBaseFile);
  70.       read(init_file,dummy); readln(init_file,   SW_HF);
  71.       read(init_file,dummy); readln(init_file,   SW_VHF);
  72.       close(init_file);
  73.     end;
  74. end;
  75.  
  76. procedure load_config;
  77. var file_name : file_type;
  78.     i : integer;
  79. begin
  80.   halt_xmt;
  81.   save_screen;
  82.   aux_color;
  83.   clrscr;
  84.   reset_date_time;
  85.   file_name := 'KAM.CFG';
  86.   Set_PickWindow_To(10,5,25,22,SingleLine,'Files');
  87.   SayGet(20,aux_line,'Config File (or ?) ',file_name,_S,24,1);
  88.   WatchKeys := ['?'];
  89.   ReadGets;
  90.   if LastKey = '?' then file_name := PickFile('*.CFG');
  91.   load_init(file_name);
  92.   set_date_time;
  93.   mod_image;
  94. end;
  95.  
  96. procedure get_init;
  97. var i : integer;
  98.     imagefile : file of screen;
  99.     anykey : char;
  100. begin
  101.  
  102.   b_clr[0] := clr_xmt_b;   f_clr[0] := clr_xmt_f;
  103.   b_clr[1] := clr_rcv_b;   f_clr[1] := clr_rcv_f;
  104.   b_clr[2] := clr_sts_b;   f_clr[2] := clr_sts_f;
  105.   b_clr[3] := clr_prm_b;   f_clr[3] := clr_prm_f;
  106.   b_clr[4] := clr_aux_b;   f_clr[4] := clr_aux_f;
  107.   b_clr[5] := clr_hlp_b;   f_clr[5] := clr_hlp_f;
  108.   status_line :=             17;
  109.   inp_start_line :=          1;
  110.   inp_end_line :=            16;
  111.   aux_line :=                24;
  112.   out_start_line :=          18;
  113.   out_end_line  :=           23;
  114.   xmt_port    :=             1;
  115.   kam_baud_rate   :=         9600;
  116.   packet_mark :=             '2125';
  117.   packet_space :=            '2295';
  118.   int_wpm   :=               nominal_xmt_wpm;
  119.   cw_off_delay :=            2;
  120.   xmt_on_delay :=            5;
  121.   xmt_off_delay :=           50;
  122.   KamTimeZone :=               0;
  123.   msg_file_0 :=              'MESSAGE.';
  124.   kam_log_file :=            'HAMLOG';
  125.   NTSdBaseFile :=            'HAMGRAM.DBF';
  126.   SW_HF        :=            ']';
  127.   SW_VHF       :=            '[';
  128.  
  129.   load_init('KAM.CFG');
  130.  
  131.   str(int_wpm,xmt_wpm);
  132.  
  133.   if (msg_file_0 <> 'NIL') then
  134.   begin
  135.     msg_file_name := msg_file_0;
  136.     msg_load;
  137.   end
  138.   else
  139.   begin
  140.     msg_file_name := '';
  141.     for i := 0 to 9 do msg[i] := '';
  142.   end;
  143.   assign(imagefile,'KAM.IMG');
  144.   {$I-}
  145.   ReSet(imagefile);
  146.   if (IOresult = 0)
  147.   then
  148.     begin
  149.       Read(imagefile, help_scr);
  150.       Read(imagefile, qsig_scr);
  151.       Read(imagefile, rst_scr);
  152.       Read(imagefile, param_scr);
  153.       Close(imagefile);
  154.       mod_image;
  155.     end
  156.   else
  157.     begin
  158.       textcolor(15);
  159.       textbackground(0);
  160.       clrscr;
  161.       writeln('File KAM.IMG must be on default disk & in default directory.');
  162.       delay (5000);
  163.       halt;
  164.     end;
  165. end;
  166.  
  167. procedure save_init;
  168. var init_file : text;
  169.     init_name : file_type;
  170.     flag : integer;
  171. begin
  172.   init_name := 'KAM.CFG';
  173.   Set_PickWindow_To(10,5,25,22,SingleLine,'Files');
  174.   SayGet(20,aux_line,'Config File (or ?) ',init_name,_S,24,1);
  175.   WatchKeys := ['?'];
  176.   ReadGets;
  177.   if LastKey = '?' then init_name := PickFile('*.*');
  178.   gotoxy(5,24); write('                                                     ');
  179.   gotoxy(5,24); write('Writing File ',init_name);
  180.   assign(init_file,init_name);
  181.   {$I-}
  182.   rewrite(init_file);
  183.   if (IOresult = 0) then
  184.     begin
  185.       write(init_file,'Xmt background .....');
  186.       writeln(init_file,b_clr[0]:5);
  187.       write(init_file,'Xmt foreground .....');
  188.       writeln(init_file,f_clr[0]:5);
  189.       write(init_file,'Rcv background .....');
  190.       writeln(init_file,b_clr[1]:5);
  191.       write(init_file,'Rcv foreground .....');
  192.       writeln(init_file,f_clr[1]:5);
  193.       write(init_file,'Status background ..');
  194.       writeln(init_file,b_clr[2]:5);
  195.       write(init_file,'Status foreground ..');
  196.       writeln(init_file,f_clr[2]:5);
  197.       write(init_file,'Prompt background ..');
  198.       writeln(init_file,b_clr[3]:5);
  199.       write(init_file,'Prompt foreground ..');
  200.       writeln(init_file,f_clr[3]:5);
  201.       write(init_file,'Aux background .....');
  202.       writeln(init_file,b_clr[4]:5);
  203.       write(init_file,'Aux foreground .....');
  204.       writeln(init_file,f_clr[4]:5);
  205.       write(init_file,'Help background ....');
  206.       writeln(init_file,b_clr[5]:5);
  207.       write(init_file,'Help foreground ....');
  208.       writeln(init_file,f_clr[5]:5);
  209.       write(init_file,'Status_line ........');
  210.       writeln(init_file,status_line:5);
  211.       write(init_file,'Rcv_start_line .....');
  212.       writeln(init_file,inp_start_line:5);
  213.       write(init_file,'Rcv_end_line .......');
  214.       writeln(init_file,inp_end_line:5);
  215.       write(init_file,'Aux_line ...........');
  216.       writeln(init_file,aux_line:5);
  217.       write(init_file,'Xmt_start_line .....');
  218.       writeln(init_file,out_start_line:5);
  219.       write(init_file,'Xmt_end_line .......');
  220.       writeln(init_file,out_end_line:5);
  221.       write(init_file,'Transmit port ......');
  222.       writeln(init_file,xmt_port:5);
  223.       write(init_file,'Interface baud rate.');
  224.       writeln(init_file,kam_baud_rate:5);
  225.       write(init_file,'Packet MARK freq....');
  226.       writeln(init_file,packet_mark:5);
  227.       write(init_file,'Packet SPACE freq...');
  228.       writeln(init_file,packet_space:5);
  229.       write(init_file,'CW Xmt WPM .........');
  230.       writeln(init_file,int_wpm:5);
  231.       write(init_file,'CW turn-off delay...');
  232.       writeln(init_file,cw_off_delay:5);;
  233.       write(init_file,'Xmt turn-on delay...');
  234.       writeln(init_file,xmt_on_delay:5);
  235.       write(init_file,'Xmt turn-off delay..');
  236.       writeln(init_file,xmt_off_delay:5);
  237.       write(init_file,'Time Zone ..........');
  238.       writeln(init_file,KamTimeZone:5);
  239.       write(init_file,'Initial msg file ...');
  240.       writeln(init_file,msg_file_0);
  241.       write(init_file,'Log Path/File.......');
  242.       writeln(init_file,kam_log_file);
  243.       write(init_file,'NTS database file...');
  244.       writeln(init_file,NTSdBaseFile);
  245.       write(init_file,'HF switch char .....');
  246.       writeln(init_file,SW_HF);
  247.       write(init_file,'VHF switch char ....');
  248.       writeln(init_file,SW_VHF);
  249.     end;
  250.   close(init_file);
  251. end;
  252.  
  253. procedure set_color(i:integer);
  254. var vidpos, attrbyte, n : integer;
  255. begin
  256.     case i of
  257.       0 : vidpos := 332;
  258.       1 : vidpos := 492;
  259.       2 : vidpos := 652;
  260.       3 : vidpos := 812;
  261.       4 : vidpos := 972;
  262.       5 : vidpos := 1132;
  263.     end;
  264.     attrbyte := b_clr[i] SHL 4 + f_clr[i];
  265.     for i := 0 to 8 do
  266.       video^[vidpos + i].a := attrbyte;
  267. end;
  268.  
  269. procedure set_new_color(which, clrkey : char);
  270. var clr : integer;
  271. begin
  272.   clr := ord(which)-ord('A');
  273.   case clrkey of
  274.     #72  : b_clr[clr] := (b_clr[clr] + 1) MOD 8;
  275.     #80  : begin
  276.              b_clr[clr] := b_clr[clr] - 1;
  277.              if (b_clr[clr] < 0) then b_clr[clr] := 7;
  278.            end;
  279.     #77  : f_clr[clr] := (f_clr[clr] + 1) MOD 16;
  280.     #75  : begin
  281.              f_clr[clr] := f_clr[clr] - 1;
  282.              if (f_clr[clr] < 0) then f_clr[clr] := 15;
  283.            end;
  284.   end;
  285.   set_color(clr);
  286. end;
  287.  
  288. procedure new_color(which : char);
  289. var clrkey: char;
  290. begin
  291.   write('  ',#17,' ',#16,' forgnd,  ',#30,' ',#31,' bckgnd ..');
  292.   repeat
  293.     clrkey := readkey;
  294.     if (clrkey = #0) then
  295.     begin
  296.       clrkey := readkey;
  297.       set_new_color(which,clrkey);
  298.     end;
  299.   until clrkey = #27;
  300. end;
  301.  
  302. procedure sho_xmt_space;
  303. begin
  304.   gotoxy(36,5); write(out_start_line:2);
  305.   gotoxy(44,5); write(out_end_line:2);
  306. end;
  307.  
  308.  
  309. procedure sho_rcv_space;
  310. begin
  311.   gotoxy(36,7); write(inp_start_line:2);
  312.   gotoxy(44,7); write(inp_end_line:2);
  313. end;
  314.  
  315. procedure sho_status_line;
  316. begin
  317.   gotoxy(36,9); write(status_line:2);
  318. end;
  319.  
  320. procedure sho_aux_line;
  321. begin
  322.   gotoxy(36,13); write(aux_line:2);
  323. end;
  324.  
  325. procedure sho_comms_port;
  326. begin
  327.   gotoxy(74,5);
  328.   case xmt_port of
  329.     1 : write('COM1');
  330.     2 : write('COM2');
  331.   end;
  332. end;
  333.  
  334. procedure sho_comms_baud_rate;
  335. begin
  336.   gotoxy(74,7);
  337.   write(kam_baud_rate:4);
  338. end;
  339.  
  340. procedure sho_CW_WPM;
  341. begin
  342.   gotoxy(74,9);
  343.   write(int_wpm : 2);
  344. end;
  345.  
  346. procedure sho_CW_off_delay;
  347. begin
  348.   gotoxy(74,11);
  349.   write(cw_off_delay : 2);
  350. end;
  351.  
  352. procedure sho_RTTY_on_delay;
  353. begin
  354.   gotoxy(74,13);
  355.   write(xmt_on_delay:2);
  356. end;
  357.  
  358. procedure sho_RTTY_off_delay;
  359. begin
  360.   gotoxy(74,15);
  361.   write(xmt_off_delay:2);
  362. end;
  363.  
  364. procedure sho_KamTimeZone;
  365. begin
  366.   gotoxy(26,17);
  367.   write(KamTimeZone:3);
  368. end;
  369.  
  370. procedure sho_default_msg_file;
  371. begin
  372.   gotoxy(58,17);
  373.   write(msg_file_0);
  374. end;
  375.  
  376. procedure sho_kam_log_file;
  377. begin
  378.   gotoxy(23,19);
  379.   write('                ');
  380.   gotoxy(23,19);
  381.   write(kam_log_file);
  382. end;
  383.  
  384. procedure sho_NTS_dBasefile;
  385. begin
  386.   gotoxy(57,19);
  387.   write('                   ');
  388.   gotoxy(57,19);
  389.   write(NTSdBaseFile);
  390. end;
  391.  
  392. procedure param_screen;
  393. var i : integer;
  394. begin
  395.   DisplayPage(@param_scr);
  396.   for i := 0 to 5 do
  397.     set_color(i);
  398.   textcolor(15);
  399.   textbackground(0);
  400.   sho_xmt_space;
  401.   sho_rcv_space;
  402.   sho_status_line;
  403.   sho_aux_line;
  404.   sho_comms_port;
  405.   sho_comms_baud_rate;
  406.   sho_CW_WPM;
  407.   sho_CW_off_delay;
  408.   sho_RTTY_on_delay;
  409.   sho_RTTY_off_delay;
  410.   sho_KamTimeZone;
  411.   sho_default_msg_file;
  412.   sho_kam_log_file;
  413.   sho_NTS_dBasefile;
  414. end;
  415.  
  416. procedure clear_select_line;
  417. begin
  418.   gotoxy(5,21);
  419.   Write('                                                                       ');
  420.   gotoxy(5,21);
  421. end;
  422.  
  423. function select: char;
  424. var ok : boolean;
  425. begin
  426.   clear_select_line;
  427.   write('<ESC> done ... Select Parameter...');
  428.   repeat
  429.     repeat
  430.       key := readkey;
  431.     until key in [#0,#27,'A'..'U','a'..'v'];
  432.     if keypressed
  433.     then
  434.       begin
  435.         key := readkey;
  436.         ok := FALSE;
  437.       end
  438.     else
  439.       ok := TRUE;
  440.   until ok;
  441.   if key <> #27 then write(UpCase(key));
  442.   select := UpCase(key);
  443. end;
  444.  
  445. procedure xmt_space;
  446. begin
  447.   repeat
  448.     {$I-}
  449.     clear_select_line;
  450.     write('Transmit start line : ');
  451.     read(out_start_line);
  452.   until (IOresult = 0);
  453.   sho_xmt_space;
  454.   repeat
  455.     {$I-}
  456.     clear_select_line;
  457.     write('Transmit end line : ');
  458.     read(out_end_line);
  459.   until (IOresult = 0);
  460.   sho_xmt_space;
  461. end;
  462.  
  463. procedure rcv_space;
  464. begin
  465.   repeat
  466.     {$I-}
  467.     clear_select_line;
  468.     write('Receive start line : ');
  469.     read(inp_start_line);
  470.   until (IOresult = 0);
  471.   sho_rcv_space;
  472.   repeat
  473.     {$I-}
  474.     clear_select_line;
  475.     write('Receive end line : ');
  476.     read(inp_end_line);
  477.   until (IOresult = 0);
  478.   sho_rcv_space;
  479. end;
  480.  
  481. procedure  status_space;
  482. begin
  483.   repeat
  484.     {$I-}
  485.     clear_select_line;
  486.     write('Status line : ');
  487.     read(status_line);
  488.   until (IOresult = 0);
  489.   sho_status_line;
  490. end;
  491.  
  492. procedure  aux_space;
  493. begin
  494.   repeat
  495.     {$I-}
  496.     clear_select_line;
  497.     write('Auxiliary line : ');
  498.     read(aux_line);
  499.   until (IOresult = 0);
  500.   sho_aux_line;
  501. end;
  502.  
  503. procedure set_comms_port;
  504. begin
  505.   case xmt_port of
  506.     1 : xmt_port := 2;
  507.     2 : xmt_port := 1;
  508.   end;
  509.   sho_comms_port;
  510. end;
  511.  
  512. procedure set_comms_baud_rate;
  513. begin
  514.   case kam_baud_rate of
  515.     110 : kam_baud_rate := 150;
  516.     150 : kam_baud_rate := 300;
  517.     300 : kam_baud_rate := 600;
  518.     600 : kam_baud_rate := 1200;
  519.     1200 : kam_baud_rate := 2400;
  520.     2400 : kam_baud_rate := 4800;
  521.     4800 : kam_baud_rate := 9600;
  522.     9600 : kam_baud_rate := 110;
  523.   end;
  524.   sho_comms_baud_rate;
  525. end;
  526.  
  527. procedure set_CW_WPM;
  528. begin
  529.   repeat
  530.     {$I-}
  531.     clear_select_line;
  532.     write('Initial CW WPM [5..80] : ');
  533.     readln(int_wpm);
  534.   until (IOresult = 0) AND (int_wpm in [5..80]);
  535.   sho_CW_WPM;
  536. end;
  537.  
  538. procedure set_CW_off_delay;
  539. begin
  540.   repeat
  541.     {$I-}
  542.     clear_select_line;
  543.     write('CW automatic turn-off delay (1/10s of secs) [1..25] : ');
  544.     readln(cw_off_delay);
  545.   until (IOresult = 0) AND (cw_off_delay in [1..25]);
  546.   sho_CW_off_delay;
  547. end;
  548.  
  549. procedure set_RTTY_on_delay;
  550. begin
  551.   repeat
  552.     {$I-}
  553.     clear_select_line;
  554.     write('RTTY automatic turn-on delay (1/10s of secs) [1..10] : ');
  555.     readln(xmt_on_delay);
  556.   until (IOresult = 0) AND (xmt_on_delay in [1..10]);
  557.   sho_RTTY_on_delay;
  558. end;
  559.  
  560. procedure set_RTTY_off_delay;
  561. begin
  562.   repeat
  563.     {$I-}
  564.     clear_select_line;
  565.     write('RTTY automatic turn-off delay (1/10s of secs) [1..50] : ');
  566.     readln(xmt_off_delay);
  567.   until (IOresult = 0) AND (xmt_off_delay in [1..50]);
  568.   sho_RTTY_off_delay;
  569. end;
  570.  
  571. procedure set_KamTimeZone;
  572. begin
  573.   repeat
  574.     {$I-}
  575.     clear_select_line;
  576.     write('Local Time Zone [-11..+11] : ');
  577.     readln(KamTimeZone);
  578.   until (IOresult = 0) AND (abs(KamTimeZone) in [ 0..11 ]);
  579.   sho_KamTimeZone;
  580. end;
  581.  
  582. procedure set_default_msg_file;
  583. begin
  584.   clear_select_line;
  585.   write('On program startup read line buffers from : ');
  586.   readln(msg_file_0);
  587.   sho_default_msg_file;
  588. end;
  589.  
  590. procedure set_default_kam_log;
  591. begin
  592.   clear_select_line;
  593.   write('Default LOG File : ');
  594.   readln(kam_log_file);
  595.   sho_kam_log_file;
  596. end;
  597.  
  598. procedure set_default_NTS_dbase_file;
  599. begin
  600.   clear_select_line;
  601.   write('Default NTS file : ');
  602.   readln(NTSdBaseFile);
  603.   sho_NTS_dbasefile;
  604. end;
  605.  
  606. procedure set_parameters;
  607. var param : char;
  608. begin
  609.   halt_xmt;
  610.   reset_date_time;
  611.   save_screen;
  612.   param_screen;
  613.   repeat
  614.     param := select;
  615.     case param of
  616.       'A'..'F' : new_color(param);
  617.       'G'      : xmt_space;
  618.       'H'      : rcv_space;
  619.       'I'      : status_space;
  620.       'J'      : aux_space;
  621.       'K'      : set_comms_port;
  622.       'L'      : set_comms_baud_rate;
  623.       'M'      : set_CW_WPM;
  624.       'N'      : set_CW_off_delay;
  625.       'O'      : set_RTTY_on_delay;
  626.       'P'      : set_RTTY_off_delay;
  627.       'Q'      : set_KamTimeZone;
  628.       'R'      : set_default_msg_file;
  629.       'S'      : set_default_kam_log;
  630.       'T'      : set_default_NTS_dbase_file;
  631.     end;
  632.   until param = #27;
  633.   clear_select_line;
  634.   write('Save to Disk <Y/N> ...');
  635.   repeat key := readkey until key in ['y','Y','n','N'];
  636.   if key in ['y','Y'] then save_init;
  637.   set_date_time;
  638.   mod_image;
  639.   restore_screen;
  640.   clear_screen;
  641. end;
  642.  
  643. procedure initialize;
  644. VAR i : integer;
  645.     fillstring : string;
  646. begin
  647.   textcolor(video^[1999].a AND $0F);
  648.   textbackground((video^[1999].a SHR 4) AND $0F);
  649.   viewing_help := FALSE;
  650.   clrscr;
  651.   writeln('======================== KAM-CAR ===========================');
  652.   writeln('Kantronics (tm) All Mode CW/ASCII/RTTY Terminal Program ',version:4);
  653.   writeln('Courtesy: Dave Freese, W1HKJ');
  654.   writeln('           29 N. Ravenwood Drive');
  655.   writeln('           Cape May Court House, NJ 08210');
  656.   writeln('           (609) 624 0076');
  657.   writeln;
  658.   get_init;
  659.   baud := 0;
  660.   shift := 0;
  661.   set_date_time;
  662.   key := null;
  663.   old_time := '     ';
  664.   xmt_ON := FALSE;
  665.   pause_flag := FALSE;
  666.   stop_flag := FALSE;
  667.   quit_flag  := FALSE;
  668.   invert := FALSE;
  669.   capture := FALSE;
  670.   auto_switch := FALSE;
  671.   kbd_buffer[0] := null;
  672.   kbd_buffer[1] := null;
  673.   inp_ptr := 0;
  674.   out_ptr := 0;
  675.   qso_nbr := 0;
  676.   station := '';
  677.   PKCall := '';
  678.   for i := 1 to max_rcv_buffers do
  679.     new(rcv_buffer[i]);
  680.   fillstring := REPLICATE(' ',80);
  681.   for i := 1 to max_rcv_buffers do
  682.     rcv_buffer[i]^ := fillstring;
  683.   init_rcv_buffers;
  684.   init_interface;
  685.   window(1,1,25,80);
  686.   InitializeDataBase;
  687.   WHERE := '';
  688. end;
  689.  
  690.